# 使用 gcc:13 作为基础镜像
FROM gcc:13

# 替换 Debian 源为中科大镜像
RUN sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list.d/debian.sources

# 安装系统依赖
RUN apt-get update && \
    apt-get install -y sudo build-essential libc6-dev \
    libcurl4-openssl-dev libcurl4-doc libidn11-dev \
    libkrb5-dev libldap2-dev librtmp-dev libssh2-1-dev \
    libssl-dev zlib1g-dev

# 创建应用目录
RUN mkdir /app
WORKDIR /app

# 复制本地文件到容器（注意：构建时需在上下文包含 unimrcp-1.8.0）
COPY . /app/unimrcp-1.8.0

# 解压依赖包
RUN cd /app/unimrcp-1.8.0/docker && \
    tar -xzvf unimrcp-deps-1.6.0.tar.gz -C /app

# 构建依赖库
RUN cd /app/unimrcp-deps-1.6.0 && \
    yes | sh build-dep-libs.sh

# 准备 unimrcp 构建环境
RUN cd /app/unimrcp-1.8.0 && \
    chmod +x configure build/get-version.sh bootstrap && \
    ./bootstrap && \
    ./configure --prefix=/app/unimrcp && \
    make clean && \
    make && \
    make install

# 设置运行时环境变量
ENV LD_LIBRARY_PATH='/usr/local/lib:$LD_LIBRARY_PATH'

# 暴露默认端口（根据实际需求修改） sip-port  mrcp-port rtsp-port
EXPOSE 8060 1544 1554

# 必须进入此目录，要不然读取不到相对的 conf/whisper_asr.conf 配置
WORKDIR /app/unimrcp
# 启动服务
CMD ["bash", "-c", "/app/unimrcp/bin/unimrcpserver -w -r /app/unimrcp"]